/*
 *  Scissor.h
 *  glow
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */

//////////////////////////////////////////////////////////////////////////

#ifndef __Scissor__
#define __Scissor__

//////////////////////////////////////////////////////////////////////////

#if defined __cplusplus

//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN(Render)

//////////////////////////////////////////////////////////////////////////

	// this class provides an object-oriented scissor interface.
	class Scissor: public Operation
	{
	public:		
		// constructor
		Scissor(I32 x, I32 y, I32 w, I32 h);
		
		// destructor
		virtual ~Scissor();

	private:
		// implement the render operation
		VOID operator() (class Context*rc);

	private:
		I32 mRect[4];
	};

	//////////////////////////////////////////////////////////////////////////

	typedef GPtr<Scissor>ScissorPtr;

//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////

#endif // __cplusplus

//////////////////////////////////////////////////////////////////////////

#endif // __Scissor__

//////////////////////////////////////////////////////////////////////////